home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / nan_news / toolkit / vidmode.prg < prev    next >
Text File  |  1991-08-15  |  3KB  |  127 lines

  1. /*
  2.  * File......: VIDMODE.PRG
  3.  * Author....: Glenn Scott
  4.  * CIS ID....: 71620,1521
  5.  * Date......: $Date:   15 Aug 1991 23:06:12  $
  6.  * Revision..: $Revision:   1.3  $
  7.  * Log file..: $Logfile:   E:/nanfor/src/vidmode.prv  $
  8.  * 
  9.  * This is an original work by Glenn Scott and is placed in the
  10.  * public domain.
  11.  *
  12.  * Modification history:
  13.  * ---------------------
  14.  *
  15.  * $Log:   E:/nanfor/src/vidmode.prv  $
  16.  * 
  17.  *    Rev 1.3   15 Aug 1991 23:06:12   GLENN
  18.  * Forest Belt proofread/edited/cleaned up doc
  19.  * 
  20.  *    Rev 1.2   14 Jun 1991 19:53:14   GLENN
  21.  * Minor edit to file header
  22.  * 
  23.  *    Rev 1.1   14 Jun 1991 18:00:42   GLENN
  24.  * Documentation change (minor), and checked for compatibility with new 
  25.  * ft_int86().
  26.  * 
  27.  *    Rev 1.0   01 Apr 1991 01:02:30   GLENN
  28.  * Nanforum Toolkit
  29.  *
  30.  */
  31.  
  32. #include "FTINT86.CH"
  33.  
  34. #define VIDEO      16
  35. #define GETMODE    15
  36.  
  37.  
  38. #ifdef FT_TEST
  39.   FUNCTION MAIN( cMode )
  40.  
  41.      FT_SETMODE( val( cMode ) )
  42.      QOut( "Video mode is: " + str( FT_GETMODE() ) )
  43.      return ( nil )
  44.  
  45. #endif
  46.  
  47.  
  48. /*  $DOC$
  49.  *  $FUNCNAME$
  50.  *     FT_SETMODE()
  51.  *  $CATEGORY$
  52.  *     Video
  53.  *  $ONELINER$
  54.  *     Set the video mode
  55.  *  $SYNTAX$
  56.  *     FT_SETMODE( <nMode> ) -> NIL
  57.  *  $ARGUMENTS$
  58.  *     <nMode> is one of the DOS video modes.
  59.  *  $RETURNS$
  60.  *     NIL
  61.  *  $DESCRIPTION$
  62.  *     Use this function to put your display adapter into a video mode.
  63.  *     Uses DOS interrupt 10h to set the mode.  For a table of modes
  64.  *     available on various graphics adapters, refer to a book such
  65.  *     as Wilton's "Programmer's Guide to PC & PS/2 Video Systems"
  66.  *     (Microsoft Press)
  67.  *  $EXAMPLES$
  68.  *        FUNCTION Main( cMode )
  69.  *
  70.  *          FT_SETMODE( VAL( cMode ) )
  71.  *          QOUT( "Video mode is: " + STR( FT_GETMODE() ) )
  72.  *          RETURN ( NIL )
  73.  *  $SEEALSO$
  74.  *     FT_ADAPTER()
  75.  *  $END$
  76.  */
  77.  
  78.  
  79. FUNCTION FT_SETMODE( nMode )
  80.   LOCAL aRegs[ INT86_MAX_REGS ]
  81.  
  82.   aRegs[ AX ] = nMode
  83.   FT_INT86( VIDEO, aRegs )
  84.  
  85.   RETURN( NIL )
  86.  
  87.  
  88.  
  89. /*  $DOC$
  90.  *  $FUNCNAME$
  91.  *     FT_GETMODE()
  92.  *  $CATEGORY$
  93.  *     Video
  94.  *  $ONELINER$
  95.  *     Get the video mode
  96.  *  $SYNTAX$
  97.  *     FT_GETMODE() -> nVMode
  98.  *  $ARGUMENTS$
  99.  *     None.
  100.  *  $RETURNS$
  101.  *     The video mode, as a numeric.
  102.  *  $DESCRIPTION$
  103.  *     Use this function to find out what mode your display adapter is in.
  104.  *     Uses DOS interrupt 10h to get the mode.  For a table of modes
  105.  *     available on various graphics adapters, refer to a book such
  106.  *     as Wilton's "Programmer's Guide to PC & PS/2 Video Systems"
  107.  *     (Microsoft Press)
  108.  *  $EXAMPLES$
  109.  *        function main( cMode )
  110.  *
  111.  *          FT_SETMODE( val( cMode ) )
  112.  *          QOut( "Video mode is: " + str( FT_GETMODE() ) )
  113.  *          return ( nil )
  114.  *
  115.  *  $END$
  116.  */
  117.  
  118.  
  119.  
  120. FUNCTION FT_GETMODE()
  121.   LOCAL aRegs[INT86_MAX_REGS]
  122.  
  123.   aRegs[ AX ] := MAKEHI( GETMODE )
  124.   FT_INT86( VIDEO, aRegs )
  125.  
  126.   RETURN ( LOWBYTE( aRegs[ AX ] ) )
  127.